package org.lq.ssm.config;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.ComponentScans;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ViewResolverRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

@Configuration
@EnableWebMvc  //自动加载mvc不用加载监听器
@ComponentScans({
        @ComponentScan(basePackages = "org.lq.ssm.controller"),
        @ComponentScan(basePackages = "org.lq.ssm.vo.mapper")
})

@Import({Swagger2Config.class})
public class MVCConfig  implements WebMvcConfigurer {

    //原来是在 spring-mvc.xml中配置各种bean, 注意，大部分都是springmvc内建的bean对象，
    // 例如:
    //      处理器映射器:
    //      处理器适配器:
    //      视图解析器(例如jsp的视图资源的定位问题要告它配置 ):
    //      异常处理器:
    //      i18n解析器:
    //      文件下载时要用的请求解析器:  MultipartResolver ,要求bean的名字必须是multipartResolver
    //      静态资源映射:   在xml中用的是:  <mvc:resource
    //      自己定义的拦截器

    // springmvc定义了一个接口叫  WebMvcConfigurer,
    //   里边的各种方法就是向容器注册各种上述内建的bean类对象

//    配置视图解析器
    public void configureViewResolvers(ViewResolverRegistry registry) {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setSuffix(".jsp");
        viewResolver.setPrefix("/WEB-INF/view/");
        registry.viewResolver(viewResolver);
    }

    //配置文件上传的bean  自己用@Bean来配
}
